<?php
// 简单的初始化页面：创建 config.json 和数据库 + 表（如果可用）
// 请将此文件放到 XAMPP 的 htdocs 下并通过浏览器访问。

function write_config($path, $data) {
    return file_put_contents($path, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
}

$configPath = __DIR__ . DIRECTORY_SEPARATOR . 'config.json';
$status = [];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // root 密码可能为空；本页面始终尝试使用 root 去创建数据库和表
  $rootPwd = isset($_POST['root_pwd']) ? $_POST['root_pwd'] : '';
  // 默认用户 admin（昵称：管理员，密码：admin）
  //$users = [ 'admin' => ['nickname' => '管理员', 'password' => 'admin'] ];
  $users = ['admin', 'jinfeng'];

  // 写 config.json（不在页面显示任何提示）
  $config = ['db_root_password' => $rootPwd, 'allowed_users' => $users];
  @write_config($configPath, $config);

  // 尝试用 root 创建数据库和表（允许密码为空）
  $mysqli = @new mysqli('127.0.0.1', 'root', $rootPwd);
  if (!$mysqli->connect_errno) {
    if ($mysqli->query("CREATE DATABASE IF NOT EXISTS task_manager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
      $mysqli->select_db('task_manager');
      $sqlUsers = "CREATE TABLE IF NOT EXISTS users (
          id INT AUTO_INCREMENT PRIMARY KEY,
          nickname VARCHAR(64) NOT NULL,
          wechat_id VARCHAR(128) NOT NULL UNIQUE,
          password VARCHAR(128) NOT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";
      $mysqli->query($sqlUsers);
      $sqlLabor = "CREATE TABLE IF NOT EXISTS labors (
          id BIGINT AUTO_INCREMENT PRIMARY KEY,
          name VARCHAR(255) NOT NULL,
          worker_wechat VARCHAR(128) NOT NULL,
          start_at DATETIME NOT NULL,
          end_at DATETIME DEFAULT NULL,
          weight FLOAT DEFAULT 1,
          points FLOAT DEFAULT 0
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";
      $mysqli->query($sqlLabor);
    }
    $mysqli->close();
  }
  // 完成初始化后跳转到站点首页（首页会根据 config.json 存在与否重定向）
  header('Location: index.php');
  exit;
}

?>
<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>系统初始化</title>
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <main style="max-width:720px;margin:24px auto;padding:16px;">
    <h1>系统初始化</h1>
    <form method="post">
      <input type="password" name="root_pwd" style="width:100%;" placeholder="MySQL root 密码" />
      <div style="margin-top:12px">
        <button type="submit">初始化</button>
      </div>
    </form>
  </main>
</body>
</html>
